package cn.bugstack.mybatis.scripting;

import cn.bugstack.mybatis.mapping.SqlSource;
import cn.bugstack.mybatis.session.Configuration;
import org.dom4j.Element;

/**
 * 语言驱动器，用来创建SqlSource
 */
public interface LanguageDriver {

    /**
     * xml方式
     * @param configuration
     * @param script
     * @param parameterType
     * @return
     */
    SqlSource createSqlSource(Configuration configuration, Element script, Class<?> parameterType);

    /**
     * annotation方式
     * @param configuration
     * @param string
     * @param parameterType
     * @return
     */
    SqlSource createSqlSource(Configuration configuration, String string, Class<?> parameterType);
}
